
export function checkURL(url:any) {
    const Expression=/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
    const objExp=new RegExp(Expression);
    if(objExp.test(url)){
        return true;
    }else{
        return false;
    }
}




/**
 * 防抖 一定时间内执行一次  点击后时间到才触发，再次点击重新计时
 * 单位时间内事件触发会被重置，避免事件被误伤触发多次
 * @param fn
 * @param delay
 */
export function debounce (fn:Function, delay:number) {
    let timer :any
    return function () {
        if (timer) {
            clearTimeout(timer)
        }
        timer = setTimeout(() => {
            fn()
        }, delay)
    }
}

/**
 * 节流 一段时间内触发一次 触发后经过一段才能再触发
 * 单位时间内事件只能触发一次
 * @param fn
 * @param delay
 */
 export function throttle (fn:Function, delay:number) {
    let isThtottle = true
    return () => {
        if (!isThtottle) return
        isThtottle = false
        setTimeout(() => {
            fn()
            isThtottle = true
        }, delay)
    }
}
